package nci60.data.protein.uniprot

/**
 * Gene ontology (GO) information of the protein <p />
 * For more information see: <a href="http://www.geneontology.org/">http://www.geneontology.org/</a>
 *
 * @autor <a href="mailto:Florian.J.Auer@googlemail.com">Florian J. Auer</a>
*/
class UniprotGO {

    /**
    * Gene ontology (GO) identifier
    */
    String identifier
    
    /**
    * Gene ontology (GO) class <p />
    * <b>See Also:</b> {@link nci60.data.protein.uniprot.UniprotGOClass}
    */
    UniprotGOClass goClass
    
    /**
    * Description of the gene ontology (GO) entry 
    */
    String description
    
    /**
    * Gene ontology (GO) evidence <p />
    * <b>See Also:</b> {@link nci60.data.protein.uniprot.UniprotGOEvidence}
    */
    UniprotGOEvidence evidence
    
    /**
    * The database from which the Gene ontology (GO) term is derived
    */
    String source

    
    /**
    * GRAILS <a href="http://grails.org/doc/latest/guide/GORM.html#gormAssociation" target="_blank">Associations in Gorm</a>
    * <p />
    * <style>.custom-table td{border-top:1pt solid grey;vertical-align:top;} .custom-table{border-collapse:collapse;width:100%;}</style>
    * <table class="custom-table">
    * <tr><td>
    *              protein
    * </td><td>        belongs to one specific Protein entry from Uniprot <p />
    *                  <b>See Also:</b> {@link nci60.data.protein.uniprot.Uniprot}
    * </td></tr>
    * </table>
    */
    static belongsTo = [protein:Uniprot]

    /**
     * GRAILS <a href="http://grails.org/doc/latest/guide/single.html#constraints" target="_blank">Declaring Constraints</a>
     * <p />
     * Constraints in Grails are a way to declaratively specify validation rules for generating objects in GORM.
     */	
    static constraints = {
    }

    /**
     * GRAILS <a href="http://grails.org/doc/latest/guide/GORM.html#ormdsl" target="_blank">Custom ORM Mapping</a>
     * <p />
     * Grails domain classes can be mapped onto many legacy schemas with an Object Relational Mapping DSL (domain specific language). 
     */	
    static mapping = {
        version : false
    }
}
